package pfc;

/**
 * Implementa las conversaciones entre usuarios.
 * @author Gabriel Reus Rodríguez
 * @version 1.0, 06/11/2010
 */

import java.util.LinkedList;
import java.lang.Math;
import java.io.Serializable;

import pfc.Grupo;
import pfc.mensaje.*;

public class Conversacion implements Serializable
{

	private static final long serialVersionUID = 8799656478674716638L;
	private Grupo grupo= new Grupo();
	private int id=0;
	/**
	*Historial de mensajes recibidos en la conversación.
	*/
	private LinkedList<Mensaje> historial= new LinkedList<Mensaje>();

	/**
	 * Constructor.
	 */
	public Conversacion()
	{
		//Genero la id de la conversación.
		generaId();
	}

	public Conversacion(Grupo gr)
	{
		//Genero la id de la conversación.
		generaId();
		this.grupo=gr;
		
	}

	/**
	*Genera la Id de la conversacion con un número aleatorio.
	*/
	private void generaId()
	{
		this.id=(int)(Math.random()*Constantes.MAX_CONVERSACION);
	}


	public Grupo getGrupo()
	{
		return this.grupo;
	}
	
	public int getId()
	{
		return this.id;
	}

	/**
	*Obtiene la lista de Mensajes de esta conversación.
	*/
	public LinkedList<Mensaje> getHistorial()
	{
		return this.historial;
	}
	/**
	*Añade un mensaje al historial.
	*/
	public void addMensaje(Mensaje m)
	{
		this.historial.add(m);
	}

}
